package com.paomi.client.net;


import com.paomi.client.activity.address.View.CityBean;
import com.paomi.client.activity.detail.model.CommentListBean;
import com.paomi.client.activity.detail.model.DetailTicketBean;
import com.paomi.client.activity.detail.model.OnlineSiteBean;
import com.paomi.client.activity.detail.model.OrderDeatilBean;
import com.paomi.client.activity.detail.model.PraiseSeatBean;
import com.paomi.client.activity.detail.model.SendDetailBean;
import com.paomi.client.activity.message.model.MyGetReplyList;
import com.paomi.client.activity.message.model.MyPraiseBean;
import com.paomi.client.activity.message.model.SystemMsgJson;
import com.paomi.client.activity.newsDetail.model.NewsBean;
import com.paomi.client.activity.pay.model.AddressBean;
import com.paomi.client.activity.pay.model.CardCouponBean;
import com.paomi.client.activity.pay.model.PaySureBean;
import com.paomi.client.activity.pay.model.SendMoneyBean;
import com.paomi.client.activity.payMoney.model.PayMoneyBean;
import com.paomi.client.activity.person.model.CheckCouponBean;
import com.paomi.client.activity.person.model.GetBalanceBean;
import com.paomi.client.activity.person.model.IntegralListBean;
import com.paomi.client.activity.person.model.MyCardBean;
import com.paomi.client.activity.person.model.MyCommentBean;
import com.paomi.client.activity.person.model.MyOrderNumBean;
import com.paomi.client.activity.person.model.TaskListBean;
import com.paomi.client.activity.person.model.TicketBalanceBean;
import com.paomi.client.activity.person.model.loginOutEntity;
import com.paomi.client.activity.reply.model.ReplyJsonBean;
import com.paomi.client.activity.person.model.UploadBean;
import com.paomi.client.activity.takeTicket.model.TicketPersonBean;
import com.paomi.client.activity.vip.model.MyCounponBean;
import com.paomi.client.bean.AddressListInfo;
import com.paomi.client.bean.AppVersionBean;
import com.paomi.client.bean.BaseJSON;
import com.paomi.client.bean.CollectionListInfo;
import com.paomi.client.bean.DictBean;
import com.paomi.client.bean.OnlyIntBean;
import com.paomi.client.bean.OnlyStringBean;
import com.paomi.client.bean.UserInfo;
import com.paomi.client.bean.UserInfoEntity;
import com.paomi.client.fragment.first.model.BannerBean;
import com.paomi.client.fragment.first.model.NewsJson;
import com.paomi.client.fragment.first.model.TicketListJson;
import com.paomi.client.fragment.massage.model.UnMyMsgBean;
import com.paomi.client.fragment.mine.model.SignDataBean;
import com.paomi.client.fragment.order.model.OrderListBean;

import java.util.Map;

import okhttp3.MultipartBody;
import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.Query;
import retrofit2.http.QueryMap;

/**
 * Created by pc on 2018/10/24
 * Describe:请求的接口地址
 * com.paomi.client.net
 */
public interface ApiService {
    /** POST写法*/
    /**
     * 发送登录短信验证码
     * URI	请求方式	归属服务
     * sms/login	POST	Login
     *
     * @param phone 参数名	是否必选	注释
     *              mobile	true	手机号
     * @return
     */
    @FormUrlEncoded
    @POST("sms/login")
    Call<BaseJSON> sendMessage(@Field("mobile") String phone);

    /**
     * 登录以及注册
     * URI	请求方式	归属服务
     * login	POST	Login
     *
     * @param phone
     * @param code  参数名	是否必选	注释
     *              mobile	true	手机号
     *              loginType	true	1:用户名密码登录,2:短信验证码登录
     *              password	true	loginType为1(用户的密码) loginType为2(短信验证码)
     * @return
     */
    @FormUrlEncoded
    @POST("login")
    Call<UserInfo> login(@Field("mobile") String phone, @Field("password") String code, @Field("loginType") String loginType);


    /**
     * 用户-信息-修改
     * img  头像 四选一参数
     * name  名称 四选一参数
     * sex  性别 1为男性 2为女性 四选一参数
     * birthday 生日 四选一参数
     *
     * @param map
     * @return
     */
    @FormUrlEncoded
    @POST("user-info/update")
    Call<BaseJSON> userInfo(@FieldMap Map<String, String> map);

    @GET("address/list")
    Call<AddressListInfo> getAddressList(@QueryMap Map<String, String> map);

    /**
     * 上传图片
     * URL
     * URI	请求方式	归属服务
     * /upload/img	POST	Base
     * 参数
     * file	true	图片 最大10MB
     *
     * @return
     */
    @Multipart
    @POST("upload/img")
    Call<UploadBean> uploadImg(@Part MultipartBody.Part no, @Part("file") String file);

    /**
     * 首页广告
     * URL
     * URI	请求方式	归属服务
     * info	GET	Base
     *
     * @return
     */
    @GET("info")
    Call<BannerBean> getBannerList();

    /**
     * 搜索-演出
     * URI	请求方式	归属服务
     * /goods/search	GET、POST	Ticket
     * 参数
     * 参数名	是否必选	注释
     * content	true	搜索内容
     * pageNum	true	页码
     * pageSize	false	每页展示数量(默认10)
     * sort	false	排序规则(默认0) 0 时间 1 热度
     *
     * @param params
     * @return
     */
    @GET("goods/search")
    Call<TicketListJson> getSearchTicket(@QueryMap Map<String, String> params);

    /**
     * 搜索-资讯
     * URI	请求方式	归属服务
     * /new/search	GET、POST	Ticket
     * 参数
     * 参数名	是否必选	注释
     * content	true	搜索内容
     * pageNum	true	页码
     * pageSize	false	每页展示数量(默认10)
     * sort	false	排序规则(默认0) 0 时间 1 热度
     */
    @GET("new/search")
    Call<NewsJson> getSearchNews(@QueryMap Map<String, String> params);

    /**
     * 演出-详情
     * URI	请求方式	归属服务
     * /goods/bean	GET	Ticket
     * 参数名	是否必选	注释
     * goodsId	true	演出ID
     */
    @GET("goods/bean")
    Call<DetailTicketBean> getDetailTicket(@Query("goodsId") String id);

    /**
     * 演出-详情-评论-列表
     * URI	请求方式	归属服务
     * goods/commnet	GET	Ticket
     * 参数
     * type	true	评论归属 0 演出项目 1 衍生品 2资讯
     * typeId	true	归属的ID
     * replySize	true	回复评论 记录数
     * pageNum	true	页码
     * pageSize	true	页记录数
     * sort	true	0 时间 1 点赞数
     */
    @GET("user-comment/main-list")
    Call<CommentListBean> getCommetList(@QueryMap Map<String, String> params);

    /**
     * 演出-详情-在线选座
     * URL
     * URI	请求方式	归属服务
     * goods/online-seat	GET	Ticket
     * 参数
     * 参数名	是否必选	注释
     * goodsId	true	演出ID
     * goodsPlanId	true	演出场次ID
     */
    @GET("goods/online-seat")
    Call<OnlineSiteBean> getOnlineSite(@QueryMap Map<String, String> params);

    /**
     * 演出-详情-评论-回复评论列表
     * URL
     * URI	请求方式	归属服务
     * user-comment/reply-list	GET	Ticket
     * 参数
     * 参数名	是否必选	注释
     * pid	true	被评论ID
     * goodsId	true	商品ID
     * pageNum	true	页码
     * pageSize	true	页记录数
     * sort	true	0 时间 1 点赞数
     */
    @GET("user-comment/reply-list")
    Call<ReplyJsonBean> getReplyList(@QueryMap Map<String, String> params);

    /**
     * 演出-详情-添加-用户评论
     * URI	请求方式	归属服务
     * goods/save-commnet	POST	Ticket
     * 参数
     * 参数名	是否必选	注释
     * type	true	评论归属 0 演出项目 1 衍生品 2资讯
     * typeId	true	归属ID
     * content	true	评论内容
     */
    @FormUrlEncoded
    @POST("user-comment/save-main")
    Call<BaseJSON> getaddComment(@FieldMap Map<String, String> params);

    /**
     * 收藏-取消收藏
     * URL
     * URI	请求方式	归属服务
     * favor/collection	Post	Ticket
     * 参数
     * 参数名	是否必选	注释
     * typeId	true	收藏ID
     * type	true	收藏类型 0 演出项目 1 衍生品 2 资讯
     */
    @FormUrlEncoded
    @POST("favor/collection")
    Call<BaseJSON> getaddCollection(@FieldMap Map<String, String> params);

    /**
     * 演出-详情-评论-举报
     * URL
     * URI	请求方式	归属服务
     * goods/report-comment	POST	Ticket
     * 参数
     * 参数名	是否必选	注释
     * id	true	评论id
     * content	true	举报理由
     */
    @FormUrlEncoded
    @POST("user-comment/report")
    Call<BaseJSON> addTipComment(@FieldMap Map<String, String> params);

    /**
     * 演出-详情-评论-点赞、取消点赞
     * URL
     * URI	请求方式	归属服务
     * goods/like-comment	POST	Ticket
     * 参数
     * 参数名	是否必选	注释
     * id	true	评论ID
     */
    @FormUrlEncoded
    @POST("user-comment/like")
    Call<BaseJSON> getaddLike(@Field("id") String id);

    /**
     * 演出-详情-评论-删除
     * URL
     * URI	请求方式	归属服务
     * goods/remove-comment	POST	Ticket
     * 参数
     * 参数名	是否必选	注释
     * id	true	评论id
     */
    @FormUrlEncoded
    @POST("user-comment/remove")
    Call<BaseJSON> deleteComment(@Field("id") String id);

    /**
     * 收藏-列表
     * URL
     * URI	请求方式	归属服务
     * favor/list	GET	Ticket
     * 参数
     * 参数名	是否必选	注释
     * type	true	收藏类型 0 演出项目 1 衍生品 2 资讯
     * pageNum	true	页码
     * pageSize	false	每页展示数量(默认10)
     */
    @GET("favor/list")
    Call<CollectionListInfo> getAddFavor(@Query("type") String id,@Query("pageNum") String pageNum,@Query("pageSize") String pageSize);

    /**
     * 资讯-详情
     * URL
     * URI	请求方式	归属服务
     * new/bean	GET	Ticket
     * 参数
     * 参数名	是否必选	注释
     * id	true	资讯ID
     */
    @GET("new/bean")
    Call<NewsBean> getDetailNew(@Query("id") String id);

    /**
     * opt true   操作方式 save添加 update修改
     * name    true   收件人姓名
     * mobile  true   联系方式
     * province    true   省
     * city    true   市
     * district    true   区
     * address true   详细地址
     * postcode    true   邮编
     * isDefault   true   是否默认收货地址 true默认 false不默认
     * remark  true   备注
     * id  false  收货地址ID 修改时必选
     */
    @FormUrlEncoded
    @POST("address/opt")
    Call<BaseJSON> createAddress(@FieldMap Map<String, String> map);

    /**
     * 获取省市区
     * pid	父id(国家传 0 )
     */
    @GET("region/all")
    Call<CityBean> getRegionAll(@Query("pid") String pid);

    /**
     * 用户-未读消息统计
     * URI	请求方式	归属服务
     * user/total/msg	GET	Ticket
     */
    @GET("user/total/msg")
    Call<UnMyMsgBean> myUnMsgAll();

    /**
     * 用户-演出评论-列表(回复列表页面)
     * URI	请求方式	归属服务
     * user/unread-goods-comment-list	GET	Ticket
     * 参数
     * 参数名	是否必选	注释
     * pageNum	true	页码
     * pageSize	true	页记录数
     * isRead	false	0 未读 1 已读
     */
    @GET("user/unread-comment-list")
    Call<MyGetReplyList> myGetReplyList(@QueryMap Map<String, String> params);

    /**
     * 用户-演出-评论-标记已读
     * URL
     * URI	请求方式	归属服务
     * user/read-goods-comment	POST	Ticket
     * 参数
     * 参数名	是否必选	注释
     * ids	true	评论的ID串 格式： 1,2,3 （英文逗号）
     */
    @FormUrlEncoded
    @POST("user/read-comment")
    Call<BaseJSON> readCommentList(@Field("ids") String id);

    /**
     * 用户-演出点赞-列表
     * URI	请求方式	归属服务
     * user/unread-goods-like-list	GET	Ticket
     * 参数名	是否必选	注释
     * pageNum	true	页码
     * pageSize	true	页记录数
     * isRead	false	0 未读 1 已读
     */
    @GET("user/unread-like-list")
    Call<MyPraiseBean> myPraiseList(@QueryMap Map<String, String> params);

    /**
     * 用户-演出-评论点赞-标记已读
     * URL
     * URI	请求方式	归属服务
     * user/read-goods-like	POST	Ticket
     * 参数
     * 参数名	是否必选	注释
     * ids	true	评论点赞的ID串 格式： 1,2,3 （英文逗号）
     */
    @FormUrlEncoded
    @POST("user/read-like")
    Call<BaseJSON> readPraiseList(@Field("ids") String id);

    /**
     * 用户-系统消息-列表
     * URI	请求方式	归属服务
     * user/unread-system-msg-list	GET	Ticket
     * 参数
     * 参数名	是否必选	注释
     * pageNum	true	页码
     * pageSize	true	页记录数
     * isRead	false	0 未读 1 已读
     */
    @GET("user/unread-system-msg-list")
    Call<SystemMsgJson> mySystemList(@QueryMap Map<String, String> params);

    /**
     * 用户-系统消息-删除
     * URL
     * URI	请求方式	归属服务
     * user/delete-system-msg	POST	Ticket
     * 参数
     * 参数名	是否必选	注释
     * ids	true	系统消息的ID串 格式： 1,2,3 （英文逗号）
     */
    @FormUrlEncoded
    @POST("user/delete-system-msg")
    Call<BaseJSON> readNotifyDelete(@Field("ids") String id);
    /**
     * 用户-系统消息-标记已读
     * URI	请求方式	归属服务
     * user/read-system-msg	POST	Ticket
     * 参数名	是否必选	注释
     * ids	true	系统消息的ID串 格式： 1,2,3 （英文逗号）
     */
    @FormUrlEncoded
    @POST("user/read-system-msg")
    Call<BaseJSON> readNotifyList(@Field("ids") String id);

    /**
     * 演出-详情-非在线选座-座位列表
     * /goods/not-online-seat	GET	Ticket
     * 参数名	是否必选	注释
     * goodsId	true	演出ID
     * goodsPlanId	true	演出场次ID
     */
    @GET("goods/not-online-seat")
    Call<PraiseSeatBean> unOnlinSeat(@QueryMap Map<String, String> params);

    /**
     * 效验-是否能够下单(演出)
     * URL
     * URI	请求方式	归属服务
     * /goods-order/is-place	POST	Pay
     * 参数
     * 参数名	是否必选	注释
     * goodsId	true	演出项目ID
     * goodsPlanId	true	演出场次ID
     * goodsTicketJson	true	演出座次JSON串 {'112107' : '1', '112108':'1'} key 演出座次ID value 购买数量
     */
    @FormUrlEncoded
    @POST("goods-order/is-place")
    Call<BannerBean> isOrderCan(@FieldMap Map<String, String> params);


    /**
     * 用户-优惠券-列表
     *
     * @param map
     * @return
     */
    @GET("coupon/list")
    Call<MyCardBean> getCouponList(@QueryMap Map<String, String> map);

    /**
     * 用户-优惠券-领取
     *
     * @param map
     * @return
     */
    @FormUrlEncoded
    @POST("coupon/receive")
    Call<BaseJSON> getCoupon(@FieldMap Map<String, String> map);

    /**
     * 优惠券-是否已领取
     *
     * @param couponId 优惠券ID
     * @return
     */
    @GET("coupon/check-receive")
    Call<CheckCouponBean> checkCoupon(@Query("couponId") String couponId);

    /**
     * 用户-收货地址-默认收货地址
     * URI	请求方式	归属服务
     * address/defalut	GET	User
     */
    @GET("address/defalut")
    Call<AddressBean> getAddressPay();

    /**
     * 用户-优惠券-列表(所有-只显示可用-指定演出、衍生品)
     * URL
     * URI	请求方式	归属服务
     * coupon/ass-list	GET	User
     * 参数
     * 参数名	是否必选	注释
     * assType	true	关联类型 1.演出 2 衍生品
     * assId	true	衍生品ID 或 演出ID
     */
    @GET("coupon/ass-list")
    Call<CardCouponBean> getCouponCardPay(@Query("assType") String assType, @Query("assId") String assId);

    /**
     * 用户-实名制购票人-列表
     * URL
     * URI	请求方式	归属服务
     * /real-name/list	GET	User
     * 参数名	是否必选	注释
     * pageNum	true	页面
     * pageSize	true	页记录数
     */
    @GET("real-name/list")
    Call<TicketPersonBean> getTicketTakePay(@QueryMap Map<String, String> params);

    /**
     * 用户-实名制购票人-添加、修改
     * URI	请求方式	归属服务
     * real-name/opt	POST	User
     * 参数名	是否必选	注释
     * opt	true	操作方式 save-添加 update-修改
     * name	true	姓名
     * code	true	证件码
     * id	false	opt为update时必传
     */
    @FormUrlEncoded
    @POST("real-name/opt")
    Call<BaseJSON> addTakePerson(@FieldMap Map<String, String> params);

    /**
     * 用户-实名制购票人-删除
     * URI	请求方式	归属服务
     * real-name/delete	POST	User
     * 参数名	是否必选	注释
     * id	true	主键ID
     * @param id
     * @return
     */
    @FormUrlEncoded
    @POST("real-name/delete")
    Call<BaseJSON> addTakeDelete(@Field("id") String id);

    /**
     * 提交订单(演出)
     * URI	请求方式	归属服务
     * /goods-order/place-order	POST	Pay
     * 参数名	是否必选	注释
     * goodsId	true	演出项目ID
     * goodsPlanId	true	演出场次ID
     * goodsTicketJson	true	演出座次Json串。key goodsTicketId ， value 数量。 {'112107' : '3', '112108':'1'}
     * coolectTicketType	true	入场方式
     * userAddressId	false	收货地址
     * realNameIds	false	购票人ID 多个以 英文逗号分隔
     * integral	false	用户使用的积分数
     * userCouponId	false	优惠券ID
     */
    @FormUrlEncoded
    @POST("goods-order/place-order")
    Call<PaySureBean> sureOrderPlace(@FieldMap Map<String, String> params);

    /**
     * 支付（演出）
     * URI	请求方式	归属服务
     * pay	POST	Pay
     * 参数名	是否必选	注释
     * orderId	true	订单号
     * type	true	支付类型 1 微信 2 支付宝
     */
    @FormUrlEncoded
    @POST("pay")
    Call<PayMoneyBean> sureOrderPay(@FieldMap Map<String, String> params);
    /**
     * 支付（演出）
     * URI	请求方式	归属服务
     * pay	POST	Pay
     * userId收款方用户id，测试用户：13
     * price价格 单位是分
     * orderId订单号：测试可随便写
     * payType支付类型：1支付宝PC， 2支付宝H5， 3支付宝APP，4微信JSAPI,5微信Native,6微信APP,7微信H5，8微信小程序
     * title交易标题
     * describe交易描述
     * openId付款方id,JSAPI支付时必填
     * tranType交易类型：测试时可随意传入
     * spBillCreateIp微服务调用必填用户真实Ip
     */
    @FormUrlEncoded
    @POST("rest/pay")
    Call<PayMoneyBean> sureRestPay(@FieldMap Map<String, String> params);

    /**
     * 用户-订单-数量统计
     * URI	请求方式	归属服务
     * /order-goods/total	GET	Ticket
     *
     * @param states 统计数量的订单状态 《格式:1,2,3,4 必须是英文逗号》
     *               状态：0 未支付 1 已支付 2 待发货 3 待收货 4 待评价（已收货） 5 已完成（已评价） 6 退款申请中 7 已退款
     * @return
     */
    @GET("order-goods/total")
    Call<MyOrderNumBean> myOrderTotal(@Query("states") String states);

    /**
     * 用户-订单列表
     * URL
     * URI	请求方式	归属服务
     * order-goods/list	GET	Ticket
     * state	订单状态 0 未支付 1 已支付 2 待发货 3 待收货 4 待评价（已收货） 5 已完成（已评价） 6 退款申请中 7 已退款
     * pageNum	页码
     * pageSize	页记录数
     *
     * @return
     */
    @GET("order-goods/list")
    Call<OrderListBean> myOrderList(@Query("state") String states, @Query("pageNum") String pageNum, @Query("pageSize") String pageSize);

    /**
     * 用户-订单详情
     * URI	请求方式	归属服务
     * order-goods/bean	GET	Ticket
     * 参数名	是否必选	注释
     * orderId	true	订单ID
     *
     * @return
     */
    @GET("order-goods/bean")
    Call<OrderDeatilBean> myOrderDetail(@Query("orderId") String orderId);

    /**
     * 用户-订单-收货地址
     * URI	请求方式	归属服务
     * order-goods/address	GET	Ticket
     * 参数名	是否必选	注释
     * orderId	true	订单ID
     *
     * @return
     */
    @GET("order-goods/address")
    Call<AddressBean> myOrderDetailAddress(@Query("orderId") String orderId);

    /**
     * 用户-订单-快递信息
     * URI	请求方式	归属服务
     * order-goods/kd	GET	Ticket
     * 参数名	是否必选	注释
     * orderId	true	快递单号
     *
     * @return
     */
    @GET("order-goods/kd")
    Call<SendDetailBean> myOrderDetailSend(@Query("orderId") String orderId);

    /**
     * 用户-积分任务-列表
     */
    @GET("integral-task/task-list")
    Call<TaskListBean> getTaskList();

    /**
     * 用户-积分-流水列表
     */
    @GET("integral-task/list")
    Call<IntegralListBean> getIntegralList(@QueryMap Map<String, String> map);

    /**
     * 用户-积分-完成任务
     */
    @FormUrlEncoded
    @POST("integral-task/complete")
    Call<BaseJSON> taskComplete(@Field("code") String code);

    /**
     * 用户-积分-余额
     */
    @GET("integral-task/balance")
    Call<GetBalanceBean> getTaskBalance();

    /**
     * 登出
     */
    @GET("exit")
    Call<loginOutEntity> loginExit();

    /**
     * 用户-收货地址-删除
     */
    @FormUrlEncoded
    @POST("address/delete")
    Call<BaseJSON> addressDelete(@Field("id") String id);

    /**
     * 用户-积分-余额（演出下单）
     * URI	请求方式	归属服务
     * integral-task/goods-balance	get	User
     * 参数名	是否必选	注释
     * goodsId	true	演出ID
     */
    @GET("integral-task/goods-balance")
    Call<TicketBalanceBean> getTicketBalance(@Query("goodsId") String goodsId);

    /**
     * 用户-订单-确认收货
     * URI	请求方式	归属服务
     * order-goods/confirm	POST	Ticket
     * 参数名	是否必选	注释
     * orderId	true	订单ID
     */
    @FormUrlEncoded
    @POST("order-goods/confirm")
    Call<BaseJSON> orderConfirm(@Field("orderId") String orderId);

    /**
     * 用户-订单-删除
     * URI	请求方式	归属服务
     * order-goods/del	POST	Ticket
     * 参数名	是否必选	注释
     * orderId	true	订单号
     */
    @FormUrlEncoded
    @POST("order-goods/del")
    Call<BaseJSON> orderDelete(@Field("orderId") String orderId);

    /**
     * 用户-订单-取消
     * URI	请求方式	归属服务
     * order-goods/cancel	POST	Ticket
     * 参数名	是否必选	注释
     * orderId	true	订单号
     */
    @FormUrlEncoded
    @POST("order-goods/cancel")
    Call<BaseJSON> orderCancel(@Field("orderId") String orderId);

    /**
     * 计算运费（演出）
     * URI	请求方式	归属服务
     * freight/calculate	POST	Pay
     * 参数名	是否必选	注释
     * goodsId	true	演出ID
     * addressId	true	用户收货地址ID
     * ticketNumber	true	票数
     */
    @FormUrlEncoded
    @POST("freight/calculate")
    Call<SendMoneyBean> sendMoneyCalcul(@Field("goodsId") String goodsId, @Field("addressId") String addressId, @Field("ticketNumber") String ticketNumber);

    /**
     * 用户-个人中心-我的会员
     */
    @GET("member-level/info")
    Call<MyCounponBean> getVipLevel();

    /**
     * 用户-信息-查询
     */
    @GET("user-info/bean")
    Call<UserInfoEntity> getUserInfo();

    /**
     * 用户-积分-签到记录
     * URI	请求方式	归属服务
     * integral-task/sign-list	GET	User
     * 参数名	是否必选	注释
     * year	true	年
     * month	true	月
     */
    @GET("integral-task/sign-list")
    Call<SignDataBean> getSign(@Query("year") String year, @Query("month") String month);

    /**
     * 用户-个人中心-我的会员-领取权益
     * URI	请求方式	归属服务
     * member-level/get-interests	POST	USER
     * 参数名	是否必选	注释
     * interestsId	true	权益ID
     */
    @FormUrlEncoded
    @POST("member-level/get-interests")
    Call<BaseJSON> getMyInterest(@Field("interestsId") String interestsId);

    /**
     * 邀请好友-统计
     */
    @GET("user-invitate/count")
    Call<OnlyIntBean> getInvitateCount();

    /**
     * 邀请好友-邀请码
     */
    @GET("user-invitate/invitation-code")
    Call<OnlyStringBean> getInvitateCode();

    /**
     * 用户-意见反馈
     */
    @FormUrlEncoded
    @POST("bug/save")
    Call<BaseJSON> putBug(@Field("content") String content);

    /**
     * 用户-我的-演出评论-列表
     */
    @GET("user/my-comment-list")
    Call<MyCommentBean> getMyCommentList(@QueryMap Map<String, String> map);

    /**
     * 演出-详情-评论-添加-回复用户评论的评论
     * URI	请求方式	归属服务
     * type	true	评论归属 0 演出项目 1 衍生品 2资讯
     * typeId	true	归属ID
     * content	true	评论内容
     * mainCommentId	true	主评论ID
     * replyType	true	回复评论类型 0 回复主评论 1 回复 二级评论
     * replyCommentId	true	被回复评论的评论ID
     * replyUserId	true	被回复评论的用户ID
     */
    @FormUrlEncoded
    @POST("user-comment/save-reply")
    Call<BaseJSON> getAddReplyComment(@FieldMap Map<String, String> params);

    /**
     * APP版本控制
     * URL
     * URI	请求方式	归属服务
     * app_version/last_version	GET	BASE
     * 参数
     * 参数名	是否必选	注释
     * type	true	APP类型：1：Android 2：IOS
     */
    @GET("app_version/last_version")
    Call<AppVersionBean> getAppVersionMessage(@Query("type") String type);

    @GET("dict/list")
    Call<DictBean> getDict(@Query("kind") String kind);

    /**
     * 用户-演出订单-演出评论
     * URI	请求方式	归属服务
     * order-goods/commnet	Post	Ticket
     * 参数名	是否必选	注释
     * orderId	true	订单号
     * star	true	评分
     * content	true	评价内容
     */
    @FormUrlEncoded
    @POST("order-goods/commnet")
    Call<BaseJSON> setStarBarComment(@FieldMap Map<String, String> params);

}
